home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Free 18
/
Commodore_Free_Issue_18_2008_Commodore_Computer_Club.d64
/
t.iv bill 1
< prev
next >
Wrap
Text File
|
2023-02-26
|
10KB
|
321 lines
u
C= Free interview with Bill Buckels
Programmer & maintainer of the Aztec C
Museum
COMMODORE FREE
Please introduce yourself to our Reader
BILL BUCKELS
My name is Bill Buckels. I am a
Canadian Software Developer. Rather
than tell you about the larger aspects
of my very good life, I would like to
tell you a little about my life & times
as a computer programmer.
I started started my career in
Software Development in the 1980's
while working as a product designer
with vector based computer graphics on
"mainframe" Computer Aided Drafting
(CAD) systems. Heavily influenced by
computer magazine articles about
graphics programming by other
programmers of the day like Steve
Rimmer (Computing Now Magazine) & the
already well established PC Graphics
program market, I moved very quickly to
a new career as a professional Graphics
Programmer.
The market for graphics programs was
(and is) highly competitive and by the
early 1990's it became clear that all
but the niche markets for specialized
graphics programs were filled with
very good products, and not much more
than an average living could be made
unless one was both an exceptionally
lucky or brilliant programmer or both.
Being only average in both these areas,
and after finding the same held true
while trying my hand programming in the
already established computer music &
educational program markets, I moved to
programming in the larger market of
specialized business systems, which I
still do professionally today.
From that time to this I have produced
Shareware and Freeware in the areas of
Graphics, Computer Music, & Children's
Educational Programs, which I do as a
hobby as time permits. My latest
efforts continue to focus in those
areas, and in re-writing my older
Shareware & Freeware for the systems of
today. My recent efforts also include
documenting the almost forgotten
systems of yesterday and providing the
latest generation of programmers &
users with articles about these old
systems some which are posted on
Wikipedia and other online forums.
CF. How long have you bee working
with C= Computers?
BB. I am relatively new to C= computers
& the first one I saw was in 1983 when
I was in my 30's when I sat down with
one of my cousin's boys who was around
12 at the time & copied an example
music program into their new home
computer, a C64, then modified it to
play a melody or two of my own. After a
brief introduction to the computer he
wandered off & did something else while
I sat for an hour or so in silent and
profound amazement at this new tech-
nology that was starting to make its
way into many Canadian homes. Up to
that point & from the time I had
entered the work-force in the late
1960's the computer had evolved from
the big institutions, academia and the
banking industry to an affordable but
still expensive proposition for
smaller business for inventory and
industrial production control. For the
decade before the introduction of the
C64 and the next five years or so that
followed I never paid much attention
to Commodore computers since my focus
on the use and programming of
computers was confined to business and
industrial uses like the emerging
Computer Aided Design & Manufacturing
(CAD/CAM) and automation technology
that had taken over in the work place.
Interestingly, by 1985 my mother who
is 83 had purchased a C64 with all the
amenities & completed a C64 programming
course at one of our local Universities
I on the other hand was becoming quite
proficient in the use & programming of
IBM-PC's as well as of the still
expensive mini computers that had
already replaced the mainframes of the
50's, 60's and 70's.
From my own perspective as well from
that of family and friends in
general, the use of computers was
accepted by this time as part of an
evolution of literacy that extended
books and creative mediums like
writing, art and design through the
use of technology. My career through
those years had moved from Industrial
Sales which included much automation,
to Mechanical Designer and CAD/CAM
including that of trainer to pure
application programming. By late 1988
my proficiency with computers and
programming had led me to my present
career of Software Developer and
Business Consultant. I still program
in the workplace daily and even at
almost 56 years of age occasionally
still will program around the clock if
required by the project & the client.
My passion for programming is still as
keen as it ever was at that time,
despite the fact that the computers &
programming languages of today have
become increasingly more sophisticated
& complex.
However, from the time that I sat down
with my young cousin at his C64 in
1983 I have always indulged myself in
an activity that I like to call
"Recreational Programming" which has
resulted in my production of thousands
of large & small software applications
for many platforms including the C64,
and Apple IIe, as well as the IBM-PC
family of computers. In recent years I
have resurrected many of my
recreational efforts, some which were
distributed in the 80's & 90's as
Shareware & Freeware, and some that
were written for "real markets" like
Graphics, Educational & Music Prog-
ramming. I often & have from that time
to this used my recreational program-
ming as "proof of concept" for
commercial projects that I work on. The
lines between "vocation" & "career" do
not exist for me. I would always rather
sit-down in front of my computer and
program than read a book or watch
television.
Recently I have become quite
infatuated with emulators like the
excellent VICE emulator for the C64.
The whole computer industry is moving
to a general model of "virtualization"
and what that means is that anyone in
this business needs to educate
themselves and stay informed in this
area. I regularly use "industrial
strength" virtualization as part of a
"toolbox" of client deliverables, and
incorporate products like Microsoft
Virtual PC, & VMWare into those
solutions. I also, as a "matter of
course", & have for years, used cross-
plaform development environments &
emulators which have existed long
before I wrote my first computer
program. I have never seen a time that
such excellence exists in the
"virtualization" area, and I abscribe
whole-heartedly to one of the many
little adages that we programmer-types
seem to like; "Everything Old is New
again!".
CF. How much documentation was there
available on formats like Print Shop
& Print Master for you to work from?
BB. There was never any documentation
for these old formats, but they
weren't all that mysterious either.
From the time I got into computing I
have deciphered machine language and
binary file formats. Like many in my
business I am very astute at pattern-
recognition & reverse-engineering.
Since I understand how computer
graphics work in general in a computer
program deciphering a simple file
format that is uncompressed like these
Old Print Shop libraries is as trivial
as tying ones shoelaces for someone
like me.
Consider that the Old Print shop
graphics came in two parts (a paired
library) on the IBM-PC & on other
systems like the Apple II were not in
libraries at all but in "Mini-Pix"
(individual files with descriptive
names). The Apple II could have long
names but the IBM-PC couldn't so the
designers of The Print Shop stored the
long names in a sequential binary .NAM
file of 16 characters in length for
each name and stored the corresponding
graphics at the same relative position
in a sequential .DAT file. Since we
all knew from using The Print Shop
that the resolution of the graphic is
88 x 52 with a bit-depth of 1
(monochrome) it was not hard to use a
calculator to divide the file size of
the .NAM file by the 16 character name
length to determine the number of
graphics in the .DAT file, then to
peer into both files to decipher the
other binary parts and guess what they
might be. Being a programmer, I simply
wrote test programs to view these on my
screen & through trial & (very little)
error developed the necessary loader
and conversion routines that I then
released with example source code
about 20 years ago. I have honestly
lost track of how many times I have
performed this same type of analysis,
as I am sure many other programmers
have, but that is the short version of
how it is done!
CF. How long have you programmed in C?
BB. I started programming in C in
around 1986. To that point I had
programmed mostly in various BASIC's
and specialized engineering languages
similar to FORTRAN. However my work in
programming already extended to
programming in Assembly and pure
Machine language. I didn't so much
start programming in C as simply doing
so. I am like many programmers not
language dependent. My syntax and
pattern recognition & logic skills come
naturally as do my musical skills &
other creative skills.
One of my favourite quotes over the
years that about sums this up is by
Robert A. Heinlein; "A human being
should be able to change a diaper,
plan an invasion, butcher a hog, con a
ship, design a building, write a
sonnet, balance accounts, build a
wall, set a bone, comfort the dying,
take orders, give orders, cooperate,
act alone, solve equations, analyse a
new problem, pitch manure, program a
computer, cook a tasty meal, fight
efficiently, die gallantly.
Specialization is for insects"
CF. What other languages have you
worked with, can you give the pros &
cons of each?
BB. At this point the number of
computer languages that I have worked
in and continue to work in fills a
very large "toolbox" (or a "workshop"
would probably be a better analogy). I
am no different than most career
programmers and we all (to varying
degrees) have provided ourselves with
the opportunity to continue to grow
and expand into all available
omniverses of language, syntax, &
dialect. I could write many books on
this and still not completely answer
your question.
I have worked with a variety of
programming languages like Assembly
Language, BASIC, and C (AB and C) in
many flavours and on many platforms.
My programming language skills extend
from the days of the Mini Computers &
the various Job Control languages to
current .NET languages in Windows &
Windows Mobile, & on the Linux Side &
Windows Side both, C++. Even on older
computers like the C64 & Apple IIe, I
prefer to program in the C Programming
language, primarily due to the read-
ability & maintainability of C over
both BASIC & Assembly Language, and C's
general efficiency.
CONTINUED IN PART 2